﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Model;
using Db;

namespace Controller
{
    public class MovieCtr : AbstractCtr
    {
        //MovieDb moviedb = new MovieDb();

        /**
         * #############################################
         * ############### Movie Metoder ###############
         * #############################################
         */

        public List<Movie> GetAllMovies()
        {
            return this.service.GetAllMovies().ToList();
        }

        public List<Genre> GetAllGenres()
        {
            return this.service.GetAllGenres().ToList();
        }

        public List<Movie> GetAllActiveMovies()
        {
            return this.service.GetAllActiveMovies().ToList();
        }

        public Movie GetMovieByID(int id)
        {
            return this.service.GetMovieByID(id);
        }

        public List<Movie> FindMoviesByTitle(string title)
        {
            return this.service.FindMoviesByTitle(title).ToList();
        }

        public int CreateMovie(Movie movie)
        {
            return this.service.CreateMovie(movie);
        }

        public int UpdateMovie(Movie movie)
        {
            return this.service.UpdateMovie(movie);
        }

        public void DeleteMovie(int movID)
        {
            this.service.DeleteMovie(movID);
        }


        ///**
        //  * #############################################
        //  * ############### Event Metoder ###############
        //  * #############################################
        //  */

        public List<Event> FindEvent(string title, string instructor, string actor, string duration, string playtime, List<string> genres)
        {
            return this.service.FindEvent(title, instructor, actor, duration, playtime, genres.ToArray()).ToList();
        }


        ///**
        // * ##############################################
        // * ############### Review Metoder ###############
        // * ##############################################
        // */
        

        //public void CreateReview(Review review)
        //{

        //}

        //public Review GetReviewByID(int rewId)
        //{
        //    return moviedb.GetReviewByID(rewId);
        //}

        //public void DeleteReview(int revID)
        //{
        //    moviedb.DeleteReview(revID);
        //}

        //public List<Review> getAllReviewByMovieID(int movieID)
        //{
        //    return moviedb.getAllReviewByMovieID(movieID);
        //}


        ///**
        // * ##############################################
        // * ############### GENRE Metoder ###############
        // * ##############################################
        // */

        //public List<Genre> getAllGenreByMovieID(int movieID)
        //{
        //    return moviedb.getAllGenreByMovieID(movieID);
        //}

    }
}
